package icu.javayanglei.util.qiniu.inter;

import com.qiniu.common.QiniuException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.InputStream;

/**
 * 接口 服务类
 *
 * @author yang
 * @version 1.0.0
 * @date 2020-10-30 15:38
 */
public interface IQiniuService {
    /**
     * 以文件的形式上传
     *
     * @param file     文件
     * @param fileName 文件名
     * @return 上传后的地址
     * @throws QiniuException 抛出异常
     */
    String uploadFile(File file, String fileName) throws QiniuException;
    /**
     * 以 MultipartFile 的形式上传
     *
     * @param file     文件
     * @param fileName 文件名
     * @return 上传后的地址
     * @throws QiniuException 抛出异常
     */
    String uploadFile(MultipartFile file, String fileName) throws QiniuException;

    /**
     * 以流的形式上传
     *
     * @param inputStream 流
     * @param fileName    文件
     * @return 上传后的 URL
     * @throws QiniuException 抛出异常
     */
    String uploadFile(InputStream inputStream, String fileName) throws QiniuException;

    /**
     * 删除文件
     *
     * @param key:
     * @return 返回
     * @throws QiniuException 异常
     */
    String delete(String key) throws QiniuException;

}

